home *** CD-ROM | disk | FTP | other *** search
- package com.sun.java.swing.plaf.metal;
-
- import com.sun.java.swing.JComponent;
- import com.sun.java.swing.UIManager;
- import com.sun.java.swing.plaf.ComponentUI;
- import com.sun.java.swing.plaf.UIResource;
- import com.sun.java.swing.plaf.basic.BasicTextFieldUI;
- import com.sun.java.swing.text.JTextComponent;
- import java.awt.Color;
- import java.awt.Component;
- import java.beans.PropertyChangeEvent;
- import java.util.EventObject;
-
- public class MetalTextFieldUI extends BasicTextFieldUI {
- public static ComponentUI createUI(JComponent c) {
- return new MetalTextFieldUI();
- }
-
- private void editableChanged(JComponent c, boolean editable) {
- Color background = ((Component)c).getBackground();
- if (!editable) {
- if (background instanceof UIResource) {
- ((Component)c).setBackground(UIManager.getColor("control"));
- }
- } else if (background instanceof UIResource) {
- ((Component)c).setBackground(UIManager.getColor("TextField.background"));
- }
-
- }
-
- public void installUI(JComponent c) {
- super.installUI(c);
- this.editableChanged(c, ((JTextComponent)c).isEditable());
- }
-
- public void propertyChange(PropertyChangeEvent e) {
- if (e.getPropertyName().equals("editable")) {
- JComponent source = (JComponent)((EventObject)e).getSource();
- ((Component)source).getBackground();
- boolean editable = (Boolean)e.getNewValue();
- this.editableChanged(source, editable);
- }
-
- }
- }
-